package edu.hebeu.evil.freshmenguide.Activity;

import android.content.DialogInterface;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AlertDialog;
import android.view.View;

import java.util.ArrayList;

import edu.hebeu.evil.freshmenguide.Fragment.SchoolViewFragment;
import edu.hebeu.evil.freshmenguide.R;
import edu.hebeu.evil.freshmenguide.Utils.Utils;

/********************************************
 * 工程名：FreshmenGuide
 * 包名：edu.hebeu.evil.freshmenguide.Activity
 * 时间：16-7-28 下午9:01
 * 作者：白雨濃 evil
 * 邮箱：evilbai@foxmail.com
 * 内容：
 ********************************************/
public class SchoolViewActivity extends BaseActivity
{
    private ViewPager viewPager;

    private Adapter adapter;

    private ArrayList<ItemBean> list;

    @Override
    public int setContentView()
    {
        return R.layout.schoolview;
    }

    @Override
    public String setToolbarTitle()
    {
        return "校园风景";
    }

    @Override
    public void onCreate()
    {
        final AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("警告!");
        builder.setMessage("此功能需要联网，并且需要大量的流量，请您在wifi环境下进行（土豪可忽略）\n是否继续？");
        builder.setPositiveButton("是", new DialogInterface.OnClickListener()
        {
            @Override
            public void onClick(DialogInterface dialogInterface, int i)
            {
                initView();
                new Utils.SHandler()
                {
                    @Override
                    public void thread(Handler handler)
                    {
                        initData();
                        handler.sendEmptyMessage(0);
                    }

                    @Override
                    public void handler()
                    {
                        setViewPager();
                    }
                }.startByCustom();
            }
        });
        builder.setNegativeButton("否", new DialogInterface.OnClickListener()
        {
            @Override
            public void onClick(DialogInterface dialogInterface, int i)
            {
                finish();
            }
        });
        builder.show();
    }

    private void initView()
    {
        viewPager = (ViewPager) findViewById(R.id.viewPager);
    }

    private void initData()
    {
        adapter = new Adapter(getSupportFragmentManager());
        list = new ArrayList<>();

        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/16655b2a1c88596c3c3c/2000", "主校区图书馆外景", "河北工程大学图书馆始建于1978年由原河北建筑科技学院、华北水利水电学院（邯郸分部）、邯郸医学高等专科学校、邯郸农业高等专科学校合并为河北工程学院，图书馆也随之合并为河北工程学院图书馆， 2006年2月随学校更名而改为河北工程大学图书馆。图书馆现有三座馆舍，分布于主校区、丛台校区、中华南校区，总建筑面积为1.5万平方米，阅览座位1670席。图书馆设有机构：办公室、采编部、流通部、信息咨询部、阅览部、技术部、丛台校区分馆和中华南校区分馆。另外，在校属学院中设有8个资料室。"));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/c9a59f1d1a48577956ea/2000", "图书馆内部布置", "图书馆拥有各类印刷型馆藏资源200万册，全文电子图书370万种，全文电子期刊8000余种，年订购中外文期刊3200种；先后引进中外文数据库27个，自建数据库3个，全文电子期刊近39000种，学位论文410万篇。涵盖理、工、农、医、管、文等多个学科，形成了学科覆盖基本齐备、多种载体形态并存的综合性馆藏体系。"));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/74c73eaedeb718fa9b9e/2000", "图书馆阅览室一角", "秉承“读者第一，服务育人”的办馆宗旨和先进的管理理念，图书馆在服务项目和服务功能上不断拓展，除提供书刊借阅服务外，还提供参考咨询、电子资源检索、学科服务、馆际互借等深层次和个性化服务；为本科生和研究生开设了信息素质教育课程，为学校师生提供各种电子资源和其他类型的培训；建立了学科馆员制度，开展了面向院系的学科服务；图书馆网站为读者提供7×24小时的书目查询、借阅查询、电子文献浏览和下载、文献传递、新书荐购、学位论文提交等服务；作为Calis成员馆，可以依托成员馆的丰富资源，为师生提供便捷的文献传递服务。"));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/f22eacc5269408084e06/2000", "第十教教学楼外景", "学校基础设施完善，主校区共有14座综合教学楼，中华南校区有3座综合教学楼和一座分支图书馆，丛台校区作为医学院有2座教学楼，1座综合实验楼，和河北工程大学附属医院。同期学校在紧挨主校区南部征地300亩建立南校区，预计南校区将建设12座现代化的教学楼和综合实验楼，南校的建立将会大大提高学校教学的硬件设施。"));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/f0f7b82e98351e876efc/2000", "第五教教学楼外景", "经过学校近些年来的不断巨资投入，各个校区的教学硬件有大幅度的改善，教学楼投影教学设施覆盖率达到百分之80，学校没座教学楼的每个教室内都配有暖气，部分教室已经配有中央空调，努力给同学提供一个良好的学习环境。"));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/47cb76fbe8fc87256fea/2000", "第九教学楼外景", "本校教学楼楼层基本为5层以内，布局合理，隔离噪音。同样学校大力发展绿化工程，各个教学楼隐藏在绿树成荫中，致力于给同学提供一个鸟语花香，宁静自然的生活环境。"));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/7ba7588c466606f0b048/2000", "教室上课一景", "学校教室为流动课堂教学，没有固定的教室，同时教室的使用权属于在校师生，同学们可以在学校的教务系统里查找和预定空闲教室。"));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/3986fb530f0abccac7a6/2000", "第八社区宿舍楼外景", "学校宿舍采用社区化管理，每个社区都有专门的办事处，每座宿舍楼都有多名工作人员负责安全和卫生。各个宿舍楼都装有监控系统，保证同学的人身和财产安全，同样进入宿舍楼也有严格的证件验证，非本宿舍楼同学不得进入。同样宿舍硬件配套设施齐全，每个社区都配有洗衣房。"));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/7c249f9fed9601462e1a/2000", "第五社区宿舍楼外景", "学校宿舍楼条件分为6人间和8人间两种，6人间收费为800元/学年、8人间收费为500元/学年，6人间宿舍配有卫生间其余设施和8人间一致，宿舍配有免费的暖气，并且学校采用24小时供电制度。"));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/b5f94e73647ee4ca981e/2000", "宿舍楼内饰", "宿舍采用社区化军事化管理，每周会有专门部门人员检查宿舍的卫生和纪律等信息，进行打分排名，获得优秀宿舍将会嘉奖，宿舍不合格将会出台一定的处罚措施。同样学校在每学期都举办宿舍文化周活动，宣扬优秀的宿舍文化和事迹，同时每学期后勤部都举办军被大赛。"));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/44c37566c3f188a06064/2000", "校园餐厅", "学校每个社区都设立的综合餐厅和风味餐厅，主校区的中和食乐广场、科信学院的公诚饮食广场、西校区的东苑餐娱广场都是大型的综合餐厅。\n主校区:学生第一餐厅、学生第二餐厅、清真餐厅、成都风味餐厅和湖南风味餐厅。\n中华南校区：学生第一餐厅、学生第二餐厅、清真餐厅。\n丛台校区：学生餐厅、清真餐厅、教工餐厅。"));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/55485a069599e0f143b6/2000", "学校报告厅", "2012年暑假学校投资100万将原有的校报告厅重新装修，装修成的多功能报告厅硬件和软件得到巨大的改善，报告厅可容纳近千名人员同时开会，建好后的报告厅称为学校重要座谈和开会的重要场所。"));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/474490a3f5a0adfc24de/2000", "党员活动室", "学校大力推动党员带头活动，实行党员带头模式。同时学校也鼓励同学积极入党，在每周周二下午为党员政治学习时间。"));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/a4e826964b0eee979f24/2000","实验室",""));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/ffa1e2fcc22df69feaae/2000","篮球场",""));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/aa6978ede10de3d4fd36/2000","鉴湖",""));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/1a6bf3cc2e1e67687c0c/2000","校运动会",""));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/6ec59257f02b93bc1a16/2000","建筑楼",""));
        list.add(new ItemBean("http://t3.qpic.cn/mblogpic/7fec41d02b6e493980b8/2000","附属医院",""));
    }

    private void setViewPager()
    {
        viewPager.setPageTransformer(true, new DepthPageTransformer());
        viewPager.setAdapter(adapter);
    }


    private class Adapter extends FragmentStatePagerAdapter
    {
        public Adapter(FragmentManager fm)
        {
            super(fm);
        }

        @Override
        public Fragment getItem(int position)
        {
            ItemBean itemBean = list.get(position);
            return SchoolViewFragment.newInstance(itemBean.imgURL, itemBean.title
                    , position + 1, list.size(), itemBean.content);
        }

        @Override
        public int getCount()
        {
            return list.size();
        }
    }

    private class ItemBean
    {
        private String imgURL;
        private String title;
        private String content;

        public ItemBean(String imgURL, String title, String content)
        {
            this.imgURL = imgURL;
            this.title = title;
            this.content = content;
        }
    }


    private class DepthPageTransformer implements ViewPager.PageTransformer
    {
        private static final float MIN_SCALE = 0.75f;

        @Override
        public void transformPage(View view, float position)
        {
            int pageWidth = view.getWidth();
            if (position < -1)
            { // [-Infinity,-1)
                // This page is way off-screen to the left.
                view.setAlpha(0);
            }
            else if (position <= 0)
            { // [-1,0]
                // Use the default slide transition when
                // moving to the left page
                view.setAlpha(1);
                view.setTranslationX(0);
                view.setScaleX(1);
                view.setScaleY(1);
            }
            else if (position <= 1)
            { // (0,1]
                // Fade the page out.
                view.setAlpha(1 - position);
                // Counteract the default slide transition
                view.setTranslationX(pageWidth * -position);
                // Scale the page down (between MIN_SCALE and 1)
                float scaleFactor = MIN_SCALE + (1 - MIN_SCALE)
                        * (1 - Math.abs(position));
                view.setScaleX(scaleFactor);
                view.setScaleY(scaleFactor);
            }
            else
            { // (1,+Infinity]
                // This page is way off-screen to the right.
                view.setAlpha(0);

            }
        }

    }


}



